package com.lanou3g.code0522.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/*
Listener是javaWeb提供的三大组件之一
他是用来在特定时间来提供回调的
我们可以通过创建不同种类的Listener,来实现,在不同情况下
调用我们自己写的代码
Listener与Servlet一样需要注册
注册方式
1. 在web.xml中通过Listener标签来注册即可

ServletContextListener
会先于任何的Servlet/Filter 执行

javaWeb 提供的Listener
按照 被监听的对象分类
1. ServletContext
    1.1 ServletContextListener
    1.2 ServletContextAttributeListener

2. HttpSession
    2.1 HttpSessionListener
    2.2 HttpSessionAttributeListener
    感知监听器,不需要注册,实现接口即可使用
    2.3 HttpSessionBindingListener
    2.4 HttpSessionActivationListener

3. ServletRequest
    3.1 ServletRequestListener
    3.2 ServletRequestAttributeListener
 */
public class FirstListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("contextInitialized");
        ServletContext app = sce.getServletContext();
        app.setAttribute("listener", "listener");
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("contextDestroyed");
    }
}